#pragma once
#include "surface.h"

class SquareSurface : public Surface {
    
protected:

    Square square;

public:

    // -- default constructor
    SquareSurface();

    // -- lifetime
    SquareSurface(const Color& col, const Square& sqr);

    // -- inherited public interface
    virtual float SurfaceIntersection(const Ray& ray);

};

// ================================================================================================
// Constructors
// ================================================================================================
inline SquareSurface::SquareSurface() : Surface(), square() {
}

inline SquareSurface::SquareSurface(const Color& col, const Square& square_) : Surface(col), square(square_) {
}


